105 research outputs found

    Automatic and Transparent Transfer of Theorems along Isomorphisms in the Coq Proof Assistant

    Get PDF
    In mathematics, it is common practice to have several constructions for the same objects. Mathematicians will identify them modulo isomorphism and will not worry later on which construction they use, as theorems proved for one construction will be valid for all. When working with proof assistants, it is also common to see several data-types representing the same objects. This work aims at making the use of several isomorphic constructions as simple and as transparent as it can be done informally in mathematics. This requires inferring automatically the missing proof-steps. We are designing an algorithm which finds and fills these missing proof-steps and we are implementing it as a plugin for Coq

    The Rooster and the Syntactic Bracket

    Get PDF
    We propose an extension of pure type systems with an algebraic presentation of inductive and co-inductive type families with proper indices. This type theory supports coercions toward from smaller sorts to bigger sorts via explicit type construction, as well as impredicative sorts. Type families in impredicative sorts are constructed with a bracketing operation. The necessary restrictions of pattern-matching from impredicative sorts to types are confined to the bracketing construct. This type theory gives an alternative presentation to the calculus of inductive constructions on which the Coq proof assistant is an implementation.Comment: To appear in the proceedings of the 19th International Conference on Types for Proofs and Program

    Pure Type System conversion is always typable

    Get PDF
    International audiencePure Type Systems are usually described in two different ways, one that uses an external notion of computation like beta-reduction, and one that relies on a typed judgment of equality, directly in the typing system. For a long time, the question was open to know whether both presentations described the same theory. A first step toward this equivalence has been made by Adams for a particular class of \emph{Pure Type Systems} (PTS) called functional. Then, his result has been relaxed to all semi-full PTS in previous work. In this paper, we finally give a positive answer to the general issue, and prove that equivalence holds for any Pure Type System.Les Systèmes de Types Purs (PTS) sont habituellement présentés de deux manières différentes, une qui utilise une notion de calcul indépendante du typage, comme la béta-reduction, et une qui défini un jugement d'égalité typée au sein du système de types. La question de savoir si ces deux présentations représentaient la même théorie est restée ouverte pendant de nombreuses années. Une première réponse partielle à cette question a été apportée par Adams pour une classe particulière de PTS dit "fonctionnels". Nous avons récement étendu ce résultat à tous les PTS "semi-complets" . Dans cet article, nous pouvons finalement donner une réponse positive à la question dans toute sa généralité: l'équivalence entre les deux présentations est prouvée correcte pour n'importe quel Système de Types Purs

    A continuation-passing-style interpretation of simply-typed call-by-need λ-calculus with control within System F

    Get PDF
    International audienceAriola et al defined a call-by-need λ-calculi with control, together with a sequent calculus presentation of it, and a mechanically generated continuation-passing-style transformation simulating the reduction. We present here a simply-typed version of this calculus and shows that it maps to System F through the continuation-passing-style transformation. This implies in particular the normaliza-tion of this simply-typed call-by-need calculus with control. Incidentally, we treat bound variables for the continuation-passing-style transformation in a precise way using indices rather than up to α-conversion, what makes it directly implementable

    Control Reduction Theories: the Benefit of Structural Substitution

    Get PDF
    L'article contient une annexe historique par Matthias Felleisen sur la génèse des opérateurs de contrôle à l'université d'Indiana à la fin des années 80.International audienceThe historical design of the call-by-value theory of control relies on the reification of evaluation contexts as regular functions and on the use of ordinary term application for jumping to a continuation. To the contrary, the lambda-C-tp control calculus, developed by the authors, distinguishes between jumps and terms. This alternative calculus, which derives from Parigot's lambda-mu-calculus, works by direct "structural substitution" of evaluation contexts. We review and revisit the legacy theories of control and argue that lambda-C-tp provides an observationally equivalent but smoother theory. In an additional note contributed by Matthias Felleisen, we review the story of the birth of control calculi during the mid to late eighties at Indiana University

    On the logical structure of choice and bar induction principles

    Get PDF
    We develop an approach to choice principles and their contrapositive bar-induction principles as extensionality schemes connecting an "intensional" or "effective" view of respectively ill-and well-foundedness properties to an "extensional" or "ideal" view of these properties. After classifying and analysing the relations between different intensional definitions of ill-foundedness and well-foundedness, we introduce, for a domain AA, a codomain BB and a "filter" TT on finite approximations of functions from AA to BB, a generalised form GDCA,B,T_{A,B,T} of the axiom of dependent choice and dually a generalised bar induction principle GBIA,B,T_{A,B,T} such that: GDCA,B,T_{A,B,T} intuitionistically captures the strength of \bullet the general axiom of choice expressed as abR(a,b)ααR(α,α(a))\forall a\exists b R(a, b) \Rightarrow\exists\alpha\forall \alpha R(\alpha,\alpha(a)) when TT is a filter that derives point-wise from a relation RR on A×BA \times B without introducing further constraints, \bullet the Boolean Prime Filter Theorem / Ultrafilter Theorem if BB is the two-element set B\mathbb{B} (for a constructive definition of prime filter), \bullet the axiom of dependent choice if A=NA = \mathbb{N}, \bullet Weak K{\"o}nig's Lemma if A=NA = \mathbb{N} and B=BB = \mathbb{B} (up to weak classical reasoning) GBIA,B,T_{A,B,T} intuitionistically captures the strength of \bullet G{\"o}del's completeness theorem in the form validity implies provability for entailment relations if B=BB = \mathbb{B}, \bullet bar induction when A=NA = \mathbb{N}, \bullet the Weak Fan Theorem when A=NA = \mathbb{N} and B=BB = \mathbb{B}. Contrastingly, even though GDCA,B,T_{A,B,T} and GBIA,B,T_{A,B,T} smoothly capture several variants of choice and bar induction, some instances are inconsistent, e.g. when AA is BN\mathbb{B}^\mathbb{N} and BB is N\mathbb{N}.Comment: LICS 2021 - 36th Annual Symposium on Logic in Computer Science, Jun 2021, Rome / Virtual, Ital

    Abstract machines for dialogue games

    Get PDF
    The notion of abstract Boehm tree has arisen as an operationally-oriented distillation of works on game semantics, and has been investigated in two papers. This paper revisits the notion, providing more syntactic support and more examples (like call-by-value evaluation) illustrating the generality of the underlying computing device. Precise correspondences between various formulations of the evaluation mechanism of abstract Boehm trees are established

    A Type-Theoretic Foundation of Delimited Continuations

    Get PDF
    International audienceThere is a correspondence between classical logic and programming language calculi with first-class continuations. With the addition of control delimiters, the continuations become composable and the calculi become more expressive. We present a fine-grained analysis of control delimiters and formalise that their addition corresponds to the addition of a single dynamically-scoped variable modelling the special top-level continuation. From a type perspective, the dynamically-scoped variable requires effect annotations. In the presence of control, the dynamically-scoped variable can be interpreted in a purely functional way by applying a store-passing style. At the type level, the effect annotations are mapped within standard classical logic extended with the dual of implication, namely subtraction. A continuation-passing-style transformation of lambda-calculus with control and subtraction is defined. Combining the translations provides a decomposition of standard CPS transformations for delimited continuations. Incidentally, we also give a direct normalisation proof of the simply-typed lambda-calculus with control and subtraction

    A Lambda-calculus Structure Isomorphic to Gentzen-style Sequent Calculus Structure

    Get PDF
    International audienceWe consider a lambda-calculus for which applicative terms have no longer the form (...((u u_1) u_2) ... u_n) but the form (u [u_1 ; ... ; u_n]), for which [u_1 ; ... ; u_n] is a list of terms. While the structure of the usual lambda-calculus is isomorphic to the structure of natural deduction, this new structure is isomorphic to the structure of Gentzen-style sequent calculus. To express the basis of the isomorphism, we consider intuitionistic logic with the implication as sole connective. However we do not consider Gentzen's calculus LJ, but a calculus LJT which leads to restrict the notion of cut-free proofs in LJ. We need also to explicitly consider, in a simply typed version of this lambda-calculus, a substitution operator and a list concatenation operator. By this way, each elementary step of cut-elimination exactly matches with a beta-reduction, a substitution propagation step or a concatenation computation step. Though it is possible to extend the isomorphism to classical logic and to other connectives, we do not treat of it in this paper
    corecore